﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using RadFormDecorator = Telerik.Web.UI.Skins.RadFormDecorator;

namespace KPIS.GERP.GBMS.APP_UI.Form
{
	public partial class BGM_ReportKPI // Event
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			InitializeBehavier();
		}

		protected void rblKPIType_SelectedIndexChanged(object sender, EventArgs e)
		{
			ChangedPanel(rblKPIType.SelectedIndex);
		}
	}


	public partial class BGM_ReportKPI : System.Web.UI.Page
	{
		private void InitializeBehavier()
		{
			/* หน่วยงาน */
			var mockหน่วยงาน = new List<KeyValuePair<int, string>>
				                   {
					                   new KeyValuePair<int, string>(1, "กลุ่มงานอำนวยการ"),
					                   new KeyValuePair<int, string>(2, "สำนักประเมินและรับรอง"),
					                   new KeyValuePair<int, string>(3, "หน่วยงาน C")
				                   };

			/* โครงการ */
			var mockโครงการ = new List<KeyValuePair<int, string>>
				                  {
					                  new KeyValuePair<int, string>(1, "โครงการพัฒนาผู้เยี่ยมสำรวจ"),
					                  new KeyValuePair<int, string>(2, "โครงการ B"),
					                  new KeyValuePair<int, string>(3, "โครงการ C")
				                  };

			/* รายละเอียดโครงการที่เลือก */
			var mockโครงการที่เลือก = new รายละเอียดโครงการ
			{
				รหัสโครงการ = 1,
				ชื่อโครงการ = "โครงการพัฒนาผู้เยี่ยมสำรวจ",
				ผลผลิต = "โครงการพัฒนาผู้เยี่ยมสำรวจ",
				กิจกรรมหลัก = "พัฒนาและส่งเสริมผู้เยี่ยมสำรวจ",
				กิจกรรมย่อย = "พัฒนาผู้เยี่ยมสำรวจ",
				หน่วยงาน = "กลุ่มงานอำนวยการ",
				วันเริ่มโครงการ = "10 พฤศจิกายน 2555",
				วันสิ้นสุดโครงการ = "25 ธันวาคม 2555",
				ปี = "2555"
			};

			BindData(mockหน่วยงาน, mockโครงการ, mockโครงการที่เลือก);

			if (rblKPIType.SelectedIndex == -1)
			{
				rblKPIType.SelectedIndex = 0;
				ChangedPanel(rblKPIType.SelectedIndex);
			}
		}


		private void ChangedPanel(int radioKPIType)
		{
			switch (radioKPIType)
			{
				case 0:
					PanelProject.Visible = true;
					PanelBgmStrategy.Visible = false;
					break;
				case 1:
					PanelProject.Visible = false;
					PanelBgmStrategy.Visible = true;
					break;
				default:
					PanelProject.Visible = false;
					PanelBgmStrategy.Visible = false;
					break;
			}

		}

		private void BindData(List<KeyValuePair<int, string>> หน่วยงานที่มี,
			List<KeyValuePair<int, string>> โครงการที่มี,
			รายละเอียดโครงการ โครงการที่เลือก = null)
		{
			ddlJobsiteSeq.DataSource = หน่วยงานที่มี;
			ddlJobsiteSeq.DataBind();


			ddlBgmProjectSeq.DataSource = โครงการที่มี;
			ddlBgmProjectSeq.DataBind();

			if (โครงการที่เลือก != null)
			{
				lblBgmProjCode.Text = Convert.ToString(โครงการที่เลือก.รหัสโครงการ);
				lblBgmProjName.Text = Convert.ToString(โครงการที่เลือก.ชื่อโครงการ);
				lblOutPut.Text = Convert.ToString(โครงการที่เลือก.ผลผลิต);
				lblAct.Text = Convert.ToString(โครงการที่เลือก.กิจกรรมหลัก);
				lblSubAct.Text = Convert.ToString(โครงการที่เลือก.กิจกรรมย่อย);
				lblJobsiteName.Text = Convert.ToString(โครงการที่เลือก.หน่วยงาน);
				lblDateStart.Text = Convert.ToString(โครงการที่เลือก.วันเริ่มโครงการ);
				lblDateEnd.Text = Convert.ToString(โครงการที่เลือก.วันสิ้นสุดโครงการ);
				lblBgmYear.Text = Convert.ToString(โครงการที่เลือก.ปี);
			}

			LoadDataGrid();
		}

		private void LoadDataGrid()
		{
			/* // gridProject
				bgm_exp_name --> ค่าใช้จ่าย
				proj_amount --> ได้รับจัดสรร
				rpt_amount1 --> โอน/รับโอน
				rpt_amount8 --> จัดสรร
				rpt_amount2 --> ได้รับอนุมัติ
				rpt_amount3 --> จองเงิน
				rpt_amount4 --> ตั้งเบิก
				rpt_amount5 --> จ่ายแล้ว
				rpt_amount6 --> คืนเงิน
				rpt_amount7 --> คงเหลือ (อนุมัติ)

				GroupBy --> bgm_source_seq
			*/
			var mockProject = new List<ProjectObject>
				                  {
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าทำใบประกาศ",
							                  bgm_source_seq = 1,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 100,
							                  rpt_amount1 = 11,
							                  rpt_amount2 = 12,
							                  rpt_amount3 = 13,
							                  rpt_amount4 = 14,
							                  rpt_amount5 = 15,
							                  rpt_amount6 = 16,
							                  rpt_amount7 = 17,
							                  rpt_amount8 = 18,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินทั่วไป"
						                  },
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าลงโฆษณาวิทยุ",
							                  bgm_source_seq = 1,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 400,
							                  rpt_amount1 = 41,
							                  rpt_amount2 = 42,
							                  rpt_amount3 = 43,
							                  rpt_amount4 = 44,
							                  rpt_amount5 = 45,
							                  rpt_amount6 = 46,
							                  rpt_amount7 = 47,
							                  rpt_amount8 = 48,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินทั่วไป"
						                  },
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าลงโฆษณาโทรทัศน์",
							                  bgm_source_seq = 1,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 500,
							                  rpt_amount1 = 61,
							                  rpt_amount2 = 72,
							                  rpt_amount3 = 83,
							                  rpt_amount4 = 94,
							                  rpt_amount5 = 10,
							                  rpt_amount6 = 16,
							                  rpt_amount7 = 37,
							                  rpt_amount8 = 68,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินทั่วไป"
						                  },
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าจัดงานเลี้ยง",
							                  bgm_source_seq = 2,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 200,
							                  rpt_amount1 = 21,
							                  rpt_amount2 = 22,
							                  rpt_amount3 = 23,
							                  rpt_amount4 = 24,
							                  rpt_amount5 = 25,
							                  rpt_amount6 = 26,
							                  rpt_amount7 = 27,
							                  rpt_amount8 = 28,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินบุคลากร"
						                  },
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าจัดงานแถลงข่าว",
							                  bgm_source_seq = 2,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 200,
							                  rpt_amount1 = 21,
							                  rpt_amount2 = 22,
							                  rpt_amount3 = 23,
							                  rpt_amount4 = 24,
							                  rpt_amount5 = 25,
							                  rpt_amount6 = 26,
							                  rpt_amount7 = 27,
							                  rpt_amount8 = 28,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินบุคลากร"
						                  },
					                  new ProjectObject
						                  {
							                  bgm_exp_name = "ค่าจัด Road Show",
							                  bgm_source_seq = 2,
							                  bgm_exp_grp_seq = 1,
							                  proj_amount = 200,
							                  rpt_amount1 = 21,
							                  rpt_amount2 = 22,
							                  rpt_amount3 = 23,
							                  rpt_amount4 = 24,
							                  rpt_amount5 = 25,
							                  rpt_amount6 = 26,
							                  rpt_amount7 = 27,
							                  rpt_amount8 = 28,
							                  bgm_exp_grp_name = "กลุ่มโฆษณา",
							                  bgm_source_name = "แหล่งเงินบุคลากร"
						                  }
				                  };
			gridProject.DataSource = mockProject;
			gridProject.DataBind();

			/* // gridKPI
				kpi_seq
				kpi_name
				kpi_descr
			*/
			var mockKPI = new List<ProjectKPI>
				              {
					              new ProjectKPI
						              {
							              kpi_descr = "",
							              kpi_name = "ประชาชนที่เจ็บป่วยฉุกเฉินได้รับบริการการแพทย์ฉุกเฉินที่มีคุณภาพและมาตรฐาน ไม่น้อยกว่า ",
							              kpi_seq = 1,
										  typeKpi = "ปริมาณ",
										  plan1 = "1,400,000",
										  result1 = "1,420,891",
										  plan2 = "1,400,000",
										  result2 = "รายงานผล",
										  plan3= "1,450,000",
										  result3 = "รายงานผล",
										  plan4 = "1,500,000",
										  result4 = "รายงานผล", 
										  summaryYearScore = "5",
										  weight = "50%",
										  unit = "คน"


						              },
					              new ProjectKPI
						              {
							              kpi_descr = "",
							              kpi_name = "ร้อยละของโรงพยาบาลภาครัฐผ่านการรับรองมาตรฐาน HA ร้อยละ 30",
							              kpi_seq = 2,
										  typeKpi = "คุณภาพ",
										  plan1 = "",
										  result1 = "",
										  plan2 = "",
										  result2 = "",
										  plan3= "",
										  result3 = "",
										  plan4 = "75",
										  result4 = "รายงานผล", 
										  summaryYearScore = "75",
										  weight = "30%",
										  unit = ""
						              },
					              new ProjectKPI
						              {
							              kpi_descr = "",
							              kpi_name = "จำนวนครั้งของการเยี่ยมให้คำปรึกษาและการเยี่ยมสำรวจสถานพยาบาลตามกระบวนการพัฒนา ประเมิน และรับรองคุณภาพในขั้นต่างๆ ภายในปีงบประมาณ",
							              kpi_seq = 2,
										  typeKpi = "ปริมาณ",
										  plan1 = "",
										  result1 = "",
										  plan2 = "",
										  result2 = "",
										  plan3= "",
										  result3 = "",
										  plan4 = "75",
										  result4 = "รายงานผล", 
										  summaryYearScore = "75",
										  weight = "20%",
										  unit = "ครั้ง"
						              },

									  
				              };

			gridKPI.DataSource = mockKPI;
			gridKPI.DataBind();
		}


		private class ProjectKPI
		{
			public int kpi_seq { get; set; }
			public string kpi_name { get; set; }
			public string kpi_descr { get; set; }
			public string typeKpi { get; set; }
			public string plan1 { get; set; }
			public string result1 { get; set; }
			public string plan2 { get; set; }
			public string result2 { get; set; }
			public string plan3 { get; set; }
			public string result3 { get; set; }
			public string plan4 { get; set; }
			public string result4 { get; set; }
			public string unit { get; set; }
			public string summaryYearPlan { get; set; }
			public string summaryYearResult { get; set; }
			public string summaryYearScore { get; set; }
			public string weight { get; set; }

		}

		private class ProjectObject
		{
			public string bgm_exp_name { get; set; }
			public int proj_amount { get; set; }
			public int rpt_amount1 { get; set; }
			public int rpt_amount8 { get; set; }
			public int rpt_amount2 { get; set; }
			public int rpt_amount3 { get; set; }
			public int rpt_amount4 { get; set; }
			public int rpt_amount5 { get; set; }
			public int rpt_amount6 { get; set; }
			public int rpt_amount7 { get; set; }
			public string bgm_exp_grp_name { get; set; }
			public string bgm_source_name { get; set; }
			public int bgm_source_seq { get; set; }
			public int bgm_exp_grp_seq { get; set; }
		}

		private class รายละเอียดโครงการ
		{
			public int รหัสโครงการ { get; set; }
			public string ชื่อโครงการ { get; set; }
			public string ผลผลิต { get; set; }
			public string กิจกรรมหลัก { get; set; }
			public string กิจกรรมย่อย { get; set; }
			public string หน่วยงาน { get; set; }
			public string วันเริ่มโครงการ { get; set; }
			public string วันสิ้นสุดโครงการ { get; set; }
			public string ปี { get; set; }
		}
	}

}